Towards a tool kit for the automatic generation of interprocedural data flow analyses

نویسندگان

  • Jens Knoop
  • Oliver Rüthing
  • Bernhard Steffen
چکیده

Frameworks for interprocedural data ow analysis (DFA) often have a foundational character: designing concrete applications requires usually a deep understanding of the framework. Here, we reconsider interprocedural DFA from an application-oriented point of view, where all details irrelevant for application are hidden. In this view the underlying framework, which captures programs with mutually recursive procedures, global and local variables, formal value and reference parameters, reduces to a cook book of (1) how to specify interprocedural DFAs and (2) how to prove them precise with respect to a program property of interest. Thus only knowledge about the speciication level is required. Moreover, this presentation also yields the basis for a tool kit implementation: speciication parameters and generic algorithms of the framework become speciication tools allowing concise speciications and computation tools processing them. A tool kit prototype has been implemented within MetaFrame, a programming environment for the construction and veriication of complex software systems. The beneets of the approach are demonstrated by a collection of practically relevant precise interprocedural DFAs ranging from classical bit-vector problems like available expressions and live variables to sophisticated and powerful optimizations like the optimal elimination of interprocedural partial redundancies. 1. Motivation Data ow analysis (DFA) is concerned with the static analysis of objects like programs, systems, or programming environments in order to support applications like system reengi-neering, program validation or the construction of optimizing compilers. We focus on the generation of eecient code by optimizing compilers in this article, the classical application of DFA. In this context, designers of a DFA are typically faced with the problem of how to construct an algorithm that determines the set of program points of an argument program which satisfy a certain property of interest. Though this problem has been studied in detail for the intraprocedural case, the construction of interprocedural analyses is still 2 Part of the work was done while the author was supported by the Deutsche Forschungsgemeinschaft grant La 426/11-1. 2 Jens Knoop et al. characterized by heuristics and ad-hoc techniques. Moreover, frameworks for interproce-dural DFA often have a foundational character: designing concrete applications requires usually a deep understanding of the framework. The point of this paper is to reconsider interprocedural DFA in a cook book view, where all details irrelevant for application are hidden in order to support the designer of a DFA by structuring and simplifying the construction of provably correct and precise interprocedu-ral DFA-algorithms. The …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Generating program analyzers

In this work the automatic generation of program analyzers from concise specifications is presented. It focuses on provably correct and complex interprocedural analyses for real world sized imperative programs. Thus, a powerful and flexible specification mechanism is required, enabling both correctness proofs and efficient implementations. The generation process relies on the theory of data flo...

متن کامل

Optimizing Cost Function in Imperialist Competitive Algorithm for Path Coverage Problem in Software Testing

Search-based optimization methods have been used for software engineering activities such as software testing. In the field of software testing, search-based test data generation refers to application of meta-heuristic optimization methods to generate test data that cover the code space of a program. Automatic test data generation that can cover all the paths of software is known as a major cha...

متن کامل

Interprocedural Parallelization Analysis: Preliminary Results

This paper describes a fully interprocedural automatic parallelization system for Fortran programs, and presents the results of extensive experiments obtained using this system. The system incorporates a comprehensive and integrated collection of analyses including dependence, privatization and reduction recognition for both array and scalar variables, and scalar symbolic analysis to support th...

متن کامل

DDT: A Research Tool for Automatic Data Distribution in High Performance Fortran

This article describes the main features and implementation of our automatic data distribution research tool. The tool (DDT) accepts programs written in Fortran 77 and generates High Performance Fortran (HPF) directives to map arrays onto the memories of the processors and parallelize loops, and executable statements to remap these arrays. DDT works by identifying a set of computational phases ...

متن کامل

Automatic Generation of Solvers for Multisource Data Flow Analysis Problems Doctoral Dissertation Proposal

Much of the success of data flow analysis has come from a well-developed unified theory. This theory presents the technique of data flow analysis in terms of a family of algebraic structures known as data flow frameworks [MR90a], providing a rigorous classification of problem families and a clear methodology for reasoning about the convergence, precision, and complexity of a given analysis. Cou...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • J. Prog. Lang.

دوره 4  شماره 

صفحات  -

تاریخ انتشار 1996